1. Field of the Invention
The present invention relates to a data transmitting/receiving system and method thereof, and more particularly, to a data transmitting/receiving system and method capable of controlling retransmission of a packet lost in a transmitting process in a system receiving/transmitting multimedia data under a real-time transport protocol.
2. Description of the Related Art
Data that needs to be transmitted in real-time, such as moving image data, audio data or the like, is transmitted under a real-time transport protocol for transmitting real-time application data. However, the RTP protocol standard does not deal with content relating to resource reservation, and in particular, the RTP protocol standard does not provide various functions, such as timely data transmission, guarantee of quality of service, and prevention of transmission in erroneous order. Therefore, the RTP standard focuses on real-time data transmission. An RTP packet is transmitted using an underlying user datagram protocol.
FIG. 1 is a format diagram of an RTP packet, in which an RTP packet header has a fixed size and is followed by particular information and data. The header of the RTP packet includes various fields, in which V field indicates a version field, and P field is employed to constitute the packet in a unit of 32 bits. Also, X field indicates whether there is an extension in the basic header. CC field indicates the number of contributing-source-identifiers. M field indicates a frame field with respect to the multimedia information, e.g., it is used to discriminate the audio and video information in the packet. PT field indicates the format of RTP payload according to a profile defined in an Internet RTP Request for Comment (RFC) 1890 by the Internet Engineering Task Force Audio/Video Transport (IETF AVT), and is analyzed by an application program. A sequence number field indicates a sequence of the RTP packet. Timestamp field indicates the point of time when the first octet is sampled. Synchronization source field indicates the identifier of a data source, such as camera, microphone or the like. If the RTP packet is mixed in a middle system, VSRC field indicates the identifiers capable of identifying the sources.
Meanwhile, control information is transmitted under a real time transport control protocol. For example, in a real-time electronic conference system, RTCP exchanges the QoS information, such as the number of packets lost between conference participations, jitter intervals, delay time between preceding and following packets and the like, and thereby allows an application to evaluate a proper QoS and to provide adaptive encoding. In addition, to scale a large number of participants, the RTCP calculates a transmission rate of the packet, and transmits minimum session control information designating a participant's ID of a user interface. Since a source identifier of the data has to be changed in case the data may collide with other identifiers or when the source identifier is renewed, the RTCP transfers a permanent transport identifier called Canonical Name. Periodically, the RTCP has to transmit the control packet to all participants. To control the participants, several types of RTCP packets have been defined as follows.
SR is used by senders to inform other participants of statistical information on the senders' transmission and/or reception.
RR is used by participants, but not by senders, to generate statistical information on their transmission and/or reception.
SDES is used to describe a name of the source containing CNAME.
BYE is used to escape out of an RTP session.
APP is used to designate a particular function of a new application or a new function.
These RTCP packets are sent in a complex packet format containing at least two packets.
FIG. 2 is a format diagram of a plurality of RTCP packets encapsulated into a user datagram protocol packet. In FIG. 2, a plurality of RTCP packets are encapsulated in one UDP packet. The RTCP packet is followed by a field having a variable length in accordance with a fixed header field and a packet format. SR packet 210, SDES packet 220 and BYE packet 230 are encapsulated in an UDP packet 200.
The RTP packet described with reference to FIGS. 1 and 2 is transmitted through a cable or wireless communication. Due to loss of a portion of the packet, or damage of the data by a noise or the like during a transmitting process of the RTP packet, a situation that the receiver cannot receive properly the whole or a portion of the packet can happen. In particular, the RTP packet is encapsulated and transmitted in the UDP packet, which is a non-guarantee type protocol. Accordingly, the UDP packet does not guarantee the data receipt of the receiver. In addition, it is uncertain whether the data packet from the receiver is received in an accurate order. Therefore, in the UDP environment, the receiver has to compensate for the data damage, and also, the receiver has to have a packet duplicating function and a packet rearranging function.
Under the general transmitting environment, the transmitted signal is much affected by the noise, has a high possibility of being damaged by a burst occurring in a specific section of the transmission path, and can be interfered with by other signals. Further, data damage or loss is more serious in wireless sections. A data receipt error is inevitably generated, but the UDP is a protocol which does not guarantee the stable transmission of the data. Therefore, in case of transmitting/receiving the data in the UDP packet, the retransmission of the receipt error-occurring data should be guaranteed.
FIG. 3 is a flow diagram of a data retransmitting process of a conventional data transmitting system. Referring to FIG. 3, in a conventional data transmission system 30, if a receiver 32 requests a data transmission, a sender 34 transmits the packet to a receiver 32. The receiver 32 checks for an error in the received packet, and transmits the serial number of the error packets to request the retransmission. The sender 34 retransmits the packets corresponding to the received packet numbers for a predetermined number of times.
The typical retransmission of the lost packet employs a retransmitting method standardized to all data, irrespective of a medium and bandwidth. Specifically, the number of retransmission times is pre-set, and the erred packet is retransmitted within a range of the pre-set number of retransmission times. However, this method does not take into consideration characteristics of multimedia data.
There is also a case in which the data requested to be transmitted doesn't always have the same influence on restoration of the data. In particular, in the moving image data coded by an MPEG format comprising an intra image and an inter image, restoration quality depends on the respective MPEG images. In addition, the same kind of image may have different influence on the restoration of the data in accordance with the time-related sequence. Accordingly, there is a need to control retransmission to reflect the characteristics of the data.